package bz.ziro.kanbe.bean;

/**
 * ページャーデータ
 * @author Administrator
 */
public class Pager {

	/**
	 * 対象データ件数
	 */
	private Integer count;

	/**
	 * 
	 */
	private Integer nowPageNum;
	
	/**
	 * 最大件数
	 */
	private Integer maxPageNum;

	/**
	 * 
	 */
	private Integer limit;

	/**
	 * 
	 */
	private Integer offset;

	/**
	 * ページャーの設定
	 * @param aCnt
	 * @param aPageNum
	 * @param aLimit
	 */
	public Pager(Integer aCnt,String aPageNum,Integer aLimit) {
		//現在のページを解析
		try {
			nowPageNum = Integer.parseInt(aPageNum);
		} catch ( Exception ex ) {
			nowPageNum = 1;
		}

		count = aCnt;
		limit = aLimit;
	
		//指定がない場合
		if ( limit <= 0 || count < 0 ) {
			maxPageNum = 1;
		} else {
			//件数と最大件数から最大ページ数を算出
       		maxPageNum = (int)(Math.floor((count-1) / limit) + 1);
		}
		offset = (nowPageNum - 1) * limit;
	}

	/**
	 * 件数取得
	 * @return
	 */
	public Integer getCount() {
		return count;
	}

	/**
	 * @return the maxPageNum
	 */
	public Integer getMaxPageNum() {
		return maxPageNum;
	}

	/**
	 * @return the nowPageNum
	 */
	public Integer getNowPageNum() {
		return nowPageNum;
	}

	/**
	 * @return the limit
	 */
	public Integer getLimit() {
		return limit;
	}

	/**
	 * @return the offset
	 */
	public Integer getOffset() {
		return offset;
	}
}
